The present invention relates generally to data storage systems, and specifically to performing snapshots of consistency groups.
One approach to safely backing up live data is to temporarily disable write access to the live data during the backup, by stopping applications from sending data updates or by using a locking Application Programming Interface (API) provided by an operating system to enforce exclusive read access. Disabling or throttling write access is also known as quiescing Input/Output (I/O). Quiescing I/O may be tolerable for low-availability systems such as desktop personal computers and small workgroup servers. Regular downtime is acceptable for low-availability systems and is typically scheduled for weekends and for other periods of time when system usage is negligible. High-availability systems, such as those that need to run 24 hours per day, are unable to bear service stoppages.
To avoid downtime, high-availability systems may instead perform the backup on a snapshot of the data set frozen at a single point in time. The snapshot is a read-only copy of the data taken while allowing applications to continue updating their data.
The snapshot may be taken of an individual data set. A consistency group, i.e., a set of data blocks stored on at least one storage volume containing related data, can be used to help create a consistent single-point-in-time copy across one volume or multiple volumes, and even across multiple enterprise storage subsystems. Typically, the consistency group is stored on multiple storage volumes. Consistency groups may be used in a single-site environment in order to create a time-consistent copy of data that can then be backed-up and sent off site. Alternatively, consistency groups may be used in a multi-site environment to force time consistency at each remote site.